package com.th.supcom.pds.domain.pojo;

import java.util.Date;

import net.carefx.framework.translate.Translatable;
import net.carefx.framework.translate.annotation.TranslateField;

import org.slf4j.Logger;
import org.slf4j.LoggerFactory;

/**
 * InpPhamApplyDetail Pojo对象.
 * 
 * 住院摆药请领明细.
 */
public class InpPhamApplyDetail implements java.io.Serializable, Translatable
{
    private static final long serialVersionUID = 1L;
    
    /** 主键. */
    private Long m_inpPhamApplyDetailId;
    /** 收费日期 */
    private Date m_chargeDate;
    /** 患者姓名. */
    private String patiName;
    /** 请领单据号. */
    private String m_applyNo;
    /** 出入库单据号. */
    private String m_stockNo;
    /** 患者住院流水号. */
    private Long m_paiVisitId;

    /** 护理单元. */
    @TranslateField (translatorName = "organizationTranslator", targetFieldName = "m_nurseUnitName")
    private String m_nurseUnit;
    private String m_nurseUnitName;

    /** 病区. */
    @TranslateField (translatorName = "organizationTranslator", targetFieldName = "m_wardName")
    private String m_ward;
    private String m_wardName;

    /** 床位号. */
    private String m_bedNo;

    /** 请领执行药房. */
    @TranslateField (translatorName = "organizationTranslator", targetFieldName = "m_applyDispensaryName")
    private String m_applyDispensary;
    private String m_applyDispensaryName;

    /** 实际执行药房. */
    @TranslateField (translatorName = "organizationTranslator", targetFieldName = "m_execDispensaryName")
    private String m_execDispensary;
    private String m_execDispensaryName;

    /** 药品请领时可供标志. */
    private String m_applySupplyFlag;

    /** 是否欠费摆药. */
    @TranslateField (fullQualifiedName = "PDS0033", targetFieldName = "m_mandatoryDispenseFlagName")
    private String m_mandatoryDispenseFlag;
    private String m_mandatoryDispenseFlagName;
    /** 是否欠费摆药. */
    @TranslateField (fullQualifiedName = "PDS0029", targetFieldName = "m_isCancelName")
    private Integer m_isCancel;
    private String m_isCancelName;
   
    /** 药品申请单位对应最小可用单位换算系数 */
    private Integer m_factor;

    /** 医嘱序号. */
    private Long m_orderNo;

    /** 医嘱子序号. */
    private Long m_orderSubNo;

    /** 医嘱执行次数 */
    private Integer m_scheduleCount;

    /** 药品标准码. */
    private String m_phamStdCode;

    /** 药品名称. */
    private String m_phamName;

    /** 药品规格. */
    private String m_phamSpec;

    /** 剂量单位. */
    @TranslateField (fullQualifiedName = "TJ0022", targetFieldName = "m_phamUnitName")
    private String m_phamUnit;
    private String m_phamUnitName;

    /** 申请数量. */
    private Integer m_applyAmount;

    /** 退药数量 */
    private Integer withdrawAmount;

    /** 申请数量单位. */
    @TranslateField (fullQualifiedName = "TJ0024", targetFieldName = "m_applyUnitName")
    private String m_applyUnit;
    private String m_applyUnitName;

    /** 用量. */
    private Double m_dosage;

    /** 应收. */
    private Double m_costs;

    /** 实收. */
    private Double m_charges;

    /** 0=未记账 1=已记账 2=退药已申请 3=已退费 . */
    @TranslateField (fullQualifiedName = "PDS0026", targetFieldName = "m_chargeIndicatorName")
    private String m_chargeIndicator;
    private String m_chargeIndicatorName;

    /** A=已请领 B=分拣 C=已发药 D=退药已申请 E=已退费未退药 F=已退药入库. */
    @TranslateField (fullQualifiedName = "PDS0027", targetFieldName = "m_dispenseIndicatorName")
    private String m_dispenseIndicator;
    private String m_dispenseIndicatorName;

    /** 退药申请对应请领单据号. */
    private String m_withdrawApplyNo;

    /** N=无药退药 Y=有药退药. */
    @TranslateField (fullQualifiedName = "PDS0028", targetFieldName = "m_withdrawTypeName")
    private String m_withdrawType;
    private String m_withdrawTypeName;
    /** 
     * 配置提供的退药方式
     * N=无药退药 Y=有药退药.
     * */
    private String m_withdrawConfig;

    /** 配送目的地. */
    @TranslateField (translatorName = "organizationTranslator", targetFieldName = "m_destinationName")
    private String m_destination;
    private String m_destinationName;
    /** 可冲抵数量. */
    private Long m_offsetAmount;
    /** 有无批次号管理标志 */
    private String m_batchNumberManagerFlag;
    /** 不摆药原因 */
    private String m_noDispenseMemo;
    
    /** 不可退药标志 1：不可退 */
    private Integer m_phamReturnIndicator;
    
    /** 药品强制可退标志 1：强制可退 0：强制不可退 */
    private Integer m_phamReturnIndicatorConfig;
    
    /** 药品货位 */
    private String m_allocation;
    
    /** 是否摆药 */
    @TranslateField (fullQualifiedName = "PDS0025", targetFieldName = "m_dispenseResultFlagName")
    private String m_dispenseResultFlag;
    private String m_dispenseResultFlagName;

    /**
     * 默认构造器 .
     */
    public InpPhamApplyDetail ()
    {
    }
    
    /**
     *  不可退药标志 1：不可退 
     * @return
     */
    public Integer getPhamReturnIndicator ()
    {
        return m_phamReturnIndicator;
    }

    /**
     *  不可退药标志 1：不可退 
     * @param phamReturnIndicator
     */
    public void setPhamReturnIndicator (Integer phamReturnIndicator)
    {
        m_phamReturnIndicator = phamReturnIndicator;
    }

    /**
     * 药品强制可退标志 1：强制可退 0：强制不可退
     * @return
     */
    public Integer getPhamReturnIndicatorConfig ()
    {
        return m_phamReturnIndicatorConfig;
    }

    /**
     * 药品强制可退标志 1：强制可退 0：强制不可退
     * @param phamReturnIndicatorConfig
     */
    public void setPhamReturnIndicatorConfig (Integer phamReturnIndicatorConfig)
    {
        m_phamReturnIndicatorConfig = phamReturnIndicatorConfig;
    }

    /**
     * 配置提供的退药方式
     * N=无药退药 Y=有药退药.
     * @return
     */
    public String getWithdrawConfig ()
    {
        return m_withdrawConfig;
    }

    /**
     * 配置提供的退药方式
     * N=无药退药 Y=有药退药.
     * @param withdrawConfig
     */
    public void setWithdrawConfig (String withdrawConfig)
    {
        m_withdrawConfig = withdrawConfig;
    }

    /**
     * 获取属性出入库单据号.
     * 
     */
    public String getStockNo ()
    {
        return m_stockNo;
    }

    /**
     * 设置属性出入库单据号.
     * 
     * @param stockNo.
     */
    public void setStockNo (String stockNo)
    {
        m_stockNo = stockNo;
    }

    /**
     * 获取不摆药原因 noDispenseMemo
     * 
     * @return the noDispenseMemo
     */
    public String getNoDispenseMemo ()
    {

        return m_noDispenseMemo;
    }

    /**
     * 设置不摆药原因 noDispenseMemo
     * 
     * @param noDispenseMemo the noDispenseMemo to set.
     */
    public void setNoDispenseMemo (String noDispenseMemo)
    {

        m_noDispenseMemo = noDispenseMemo;
    }

    /**
     * 获取患者姓名
     * 
     * @return
     */
    public String getPatiName ()
    {
        return patiName;
    }

    /**
     * 设置患者姓名
     * 
     * @param patiName
     */
    public void setPatiName (String patiName)
    {
        this.patiName = patiName;
    }

    /**
     * 获取医嘱执行次数
     * 
     * @return
     */
    public Integer getScheduleCount ()
    {
        return m_scheduleCount;
    }

    /**
     * 设置医嘱执行次数
     * 
     * @param scheduleCount
     */
    public void setScheduleCount (Integer scheduleCount)
    {

        m_scheduleCount = scheduleCount;
    }

    /**
     * 获取 有无批次号管理标志
     * 
     * @return
     */
    public String getBatchNumberManagerFlag ()
    {
        return m_batchNumberManagerFlag;
    }

    /**
     * 设置 有无批次号管理标志
     * 
     * @param batchNumberManagerFlag
     */
    public void setBatchNumberManagerFlag (String batchNumberManagerFlag)
    {
        m_batchNumberManagerFlag = batchNumberManagerFlag;
    }

    /**
     * 获取收费日期
     * 
     * @return
     */
    public Date getChargeDate ()
    {
        return m_chargeDate;
    }

    /**
     * 设置收费日期
     * 
     * @param chargeDate
     */
    public void setChargeDate (Date chargeDate)
    {
        m_chargeDate = chargeDate;
    }

    /**
     * 获取退药数量
     * 
     * @return
     * 
     */
    public Integer getWithdrawAmount ()
    {
        return withdrawAmount;
    }

    /**
     * 设置退药数量
     * 
     * @param withdrawAmount
     */
    public void setWithdrawAmount (Integer withdrawAmount)
    {
        this.withdrawAmount = withdrawAmount;
    }

    /**
     * 获取主键属性.
     * 
     */
    public Long getInpPhamApplyDetailId ()
    {
        return m_inpPhamApplyDetailId;
    }

    /**
     * 设置主键属性.
     * 
     * @param inpPhamApplyDetailId.
     */
    public void setInpPhamApplyDetailId (Long inpPhamApplyDetailId)
    {
        m_inpPhamApplyDetailId = inpPhamApplyDetailId;
    }

    /**
     * 获取请领单据号属性.
     * 
     */
    public String getApplyNo ()
    {
        return m_applyNo;
    }

    /**
     * 设置请领单据号属性.
     * 
     * @param applyNo.
     */
    public void setApplyNo (String applyNo)
    {
        m_applyNo = applyNo;
    }

    /**
     * 获取患者住院流水号属性.
     * 
     */
    public Long getPaiVisitId ()
    {
        return m_paiVisitId;
    }

    /**
     * 设置患者住院流水号属性.
     * 
     * @param paiVisitId.
     */
    public void setPaiVisitId (Long paiVisitId)
    {
        m_paiVisitId = paiVisitId;
    }

    /**
     * 获取护理单元属性.
     * 
     */
    public String getNurseUnit ()
    {
        return m_nurseUnit;
    }

    /**
     * 设置护理单元属性.
     * 
     * @param nurseUnit.
     */
    public void setNurseUnit (String nurseUnit)
    {
        m_nurseUnit = nurseUnit;
    }

    /**
     * 获取病区属性.
     * 
     */
    public String getWard ()
    {
        return m_ward;
    }

    /**
     * 设置病区属性.
     * 
     * @param ward.
     */
    public void setWard (String ward)
    {
        m_ward = ward;
    }

    /**
     * 获取床位号属性.
     * 
     */
    public String getBedNo ()
    {
        return m_bedNo;
    }

    public String getApplyUnit ()
    {

        return m_applyUnit;
    }

    public void setApplyUnit (String applyUnit)
    {

        m_applyUnit = applyUnit;
    }

    public String getApplyUnitName ()
    {

        return m_applyUnitName;
    }

    public void setApplyUnitName (String applyUnitName)
    {

        m_applyUnitName = applyUnitName;
    }

    /**
     * 设置床位号属性.
     * 
     * @param bedNo.
     */
    public void setBedNo (String bedNo)
    {
        m_bedNo = bedNo;
    }

    /**
     * 获取请领执行药房属性.
     * 
     */
    public String getApplyDispensary ()
    {
        return m_applyDispensary;
    }

    /**
     * 设置请领执行药房属性.
     * 
     * @param applyDispensary.
     */
    public void setApplyDispensary (String applyDispensary)
    {
        m_applyDispensary = applyDispensary;
    }

    /**
     * 获取实际执行药房属性.
     * 
     */
    public String getExecDispensary ()
    {
        return m_execDispensary;
    }

    /**
     * 设置实际执行药房属性.
     * 
     * @param execDispensary.
     */
    public void setExecDispensary (String execDispensary)
    {
        m_execDispensary = execDispensary;
    }

    /**
     * 获取药品请领时可供标志属性.
     * 
     */
    public String getApplySupplyFlag ()
    {
        return m_applySupplyFlag;
    }

    /**
     * 设置药品请领时可供标志属性.
     * 
     * @param applySupplyFlag.
     */
    public void setApplySupplyFlag (String applySupplyFlag)
    {
        m_applySupplyFlag = applySupplyFlag;
    }

    /**
     * 获取是否强制摆药属性.
     * 
     */
    public String getMandatoryDispenseFlag ()
    {
        return m_mandatoryDispenseFlag;
    }

    /**
     * 设置是否强制摆药属性.
     * 
     * @param mandatoryDispenseFlag.
     */
    public void setMandatoryDispenseFlag (String mandatoryDispenseFlag)
    {
        m_mandatoryDispenseFlag = mandatoryDispenseFlag;
    }

    public String getMandatoryDispenseFlagName ()
    {

        return m_mandatoryDispenseFlagName;
    }

    public void setMandatoryDispenseFlagName (String mandatoryDispenseFlagName)
    {

        m_mandatoryDispenseFlagName = mandatoryDispenseFlagName;
    }

    /**
     * 获取医嘱序号属性.
     * 
     */
    public Long getOrderNo ()
    {
        return m_orderNo;
    }

    /**
     * 设置医嘱序号属性.
     * 
     * @param orderNo.
     */
    public void setOrderNo (Long orderNo)
    {
        m_orderNo = orderNo;
    }

    /**
     * 获取医嘱子序号属性.
     * 
     */
    public Long getOrderSubNo ()
    {
        return m_orderSubNo;
    }

    /**
     * 设置医嘱子序号属性.
     * 
     * @param orderSubNo.
     */
    public void setOrderSubNo (Long orderSubNo)
    {
        m_orderSubNo = orderSubNo;
    }

    /**
     * 获取药品标准码属性.
     * 
     */
    public String getPhamStdCode ()
    {
        return m_phamStdCode;
    }

    /**
     * 设置药品标准码属性.
     * 
     * @param phamStdCode.
     */
    public void setPhamStdCode (String phamStdCode)
    {
        m_phamStdCode = phamStdCode;
    }

    /**
     * 获取药品名称属性.
     * 
     */
    public String getPhamName ()
    {
        return m_phamName;
    }

    /**
     * 设置药品名称属性.
     * 
     * @param phamName.
     */
    public void setPhamName (String phamName)
    {
        m_phamName = phamName;
    }

    /**
     * 获取药品规格属性.
     * 
     */
    public String getPhamSpec ()
    {
        return m_phamSpec;
    }

    /**
     * 设置药品规格属性.
     * 
     * @param phamSpec.
     */
    public void setPhamSpec (String phamSpec)
    {
        m_phamSpec = phamSpec;
    }

    /**
     * 获取药品单位属性.
     * 
     */
    public String getPhamUnit ()
    {
        return m_phamUnit;
    }

    /**
     * 设置药品单位属性.
     * 
     * @param phamUnit.
     */
    public void setPhamUnit (String phamUnit)
    {
        m_phamUnit = phamUnit;
    }

    /**
     * 获取申请数量属性.
     * 
     */
    public Integer getApplyAmount ()
    {
        return m_applyAmount;
    }

    /**
     * 设置申请数量属性.
     * 
     * @param applyAmount.
     */
    public void setApplyAmount (Integer applyAmount)
    {
        m_applyAmount = applyAmount;
    }

    /**
     * 获取用量属性.
     * 
     */
    public Double getDosage ()
    {
        return m_dosage;
    }

    /**
     * 设置用量属性.
     * 
     * @param dosage.
     */
    public void setDosage (Double dosage)
    {
        m_dosage = dosage;
    }

    /**
     * 获取应收属性.
     * 
     */
    public Double getCosts ()
    {
        return m_costs;
    }

    /**
     * 设置应收属性.
     * 
     * @param costs.
     */
    public void setCosts (Double costs)
    {
        m_costs = costs;
    }

    /**
     * 获取实收属性.
     * 
     */
    public Double getCharges ()
    {
        return m_charges;
    }

    /**
     * 设置实收属性.
     * 
     * @param charges.
     */
    public void setCharges (Double charges)
    {
        m_charges = charges;
    }

    /**
     * 获取0=未记账 1=已记账 2=退药已申请 3=已退费 属性.
     * 
     */
    public String getChargeIndicator ()
    {
        return m_chargeIndicator;
    }

    /**
     * 设置0=未记账 1=已记账 2=退药已申请 3=已退费 属性.
     * 
     * @param chargeIndicator.
     */
    public void setChargeIndicator (String chargeIndicator)
    {
        m_chargeIndicator = chargeIndicator;
    }

    /**
     * 获取A=已请领 B=分拣 C=已发药 D=退药已申请 E=已退费未退药 F=已退药入库属性.
     * 
     */
    public String getDispenseIndicator ()
    {
        return m_dispenseIndicator;
    }

    /**
     * 设置A=已请领 B=分拣 C=已发药 D=退药已申请 E=已退费未退药 F=已退药入库属性.
     * 
     * @param dispenseIndicator.
     */
    public void setDispenseIndicator (String dispenseIndicator)
    {
        m_dispenseIndicator = dispenseIndicator;
    }

    /**
     * 获取退药申请对应请领单据号属性.
     * 
     */
    public String getWithdrawApplyNo ()
    {
        return m_withdrawApplyNo;
    }

    /**
     * 设置退药申请对应请领单据号属性.
     * 
     * @param withdrawApplyNo.
     */
    public void setWithdrawApplyNo (String withdrawApplyNo)
    {
        m_withdrawApplyNo = withdrawApplyNo;
    }

    /**
     * 获取N=无药退药 Y=有药退药属性.
     * 
     */
    public String getWithdrawType ()
    {
        return m_withdrawType;
    }

    /**
     * 设置N=无药退药 Y=有药退药属性.
     * 
     * @param withdrawType.
     */
    public void setWithdrawType (String withdrawType)
    {
        m_withdrawType = withdrawType;
    }

    /**
     * 获取配送目的地属性.
     * 
     */
    public String getDestination ()
    {
        return m_destination;
    }

    /**
     * 设置配送目的地属性.
     * 
     * @param destination.
     */
    public void setDestination (String destination)
    {
        m_destination = destination;
    }

    /**
     * 获取护理单元名称
     * 
     * @return
     */
    public String getNurseUnitName ()
    {
        return m_nurseUnitName;
    }

    /**
     * 设置护理单元名称
     * 
     * @param nurseUnitName
     */
    public void setNurseUnitName (String nurseUnitName)
    {
        m_nurseUnitName = nurseUnitName;
    }

    /**
     * 获取病区名称
     * 
     * @return
     */
    public String getWardName ()
    {
        return m_wardName;
    }

    /**
     * 设置病区名称
     * 
     * @param wardName
     */
    public void setWardName (String wardName)
    {
        m_wardName = wardName;
    }

    /**
     * 获取请领药房名称
     * 
     * @return
     */
    public String getApplyDispensaryName ()
    {
        return m_applyDispensaryName;
    }

    /**
     * 设置请领药房名称
     * 
     * @param applyDispensaryName
     */
    public void setApplyDispensaryName (String applyDispensaryName)
    {
        m_applyDispensaryName = applyDispensaryName;
    }

    /**
     * 获取请领药房名称
     * 
     * @return
     */
    public String getExecDispensaryName ()
    {
        return m_execDispensaryName;
    }

    /**
     * 设置执行药房名称
     * 
     * @param execDispensaryName
     */
    public void setExecDispensaryName (String execDispensaryName)
    {
        m_execDispensaryName = execDispensaryName;
    }

    /**
     * 获取药品剂量单位名称
     * 
     * @return
     */
    public String getPhamUnitName ()
    {
        return m_phamUnitName;
    }

    /**
     * 设置药品剂量单位名称
     * 
     * @param phamUnitName
     */
    public void setPhamUnitName (String phamUnitName)
    {
        m_phamUnitName = phamUnitName;
    }

    /**
     * 获取计价标识名称
     * 
     * @return
     */
    public String getChargeIndicatorName ()
    {
        return m_chargeIndicatorName;
    }

    /**
     * 设置计价标识名称
     * 
     * @param chargeIndicatorName
     */
    public void setChargeIndicatorName (String chargeIndicatorName)
    {
        m_chargeIndicatorName = chargeIndicatorName;
    }

    /**
     * 获取摆药标识名称
     * 
     * @return
     */
    public String getDispenseIndicatorName ()
    {
        return m_dispenseIndicatorName;
    }

    /**
     * 设置摆药标识名称
     * 
     * @param dispenseIndicatorName
     */
    public void setDispenseIndicatorName (String dispenseIndicatorName)
    {
        m_dispenseIndicatorName = dispenseIndicatorName;
    }

    /**
     * 获取退药类型名称
     * 
     * @return
     */
    public String getWithdrawTypeName ()
    {
        return m_withdrawTypeName;
    }

    /**
     * 设置退药类型名称
     * 
     * @param withdrawTypeName
     */
    public void setWithdrawTypeName (String withdrawTypeName)
    {
        m_withdrawTypeName = withdrawTypeName;
    }

    /**
     * 获取送往科室名称
     * 
     * @return
     */
    public String getDestinationName ()
    {
        return m_destinationName;
    }

    /**
     * 设置送往科室名称
     * 
     * @param destinationName
     */
    public void setDestinationName (String destinationName)
    {
        m_destinationName = destinationName;
    }

    /**
     * 获取可冲抵数量属性.
     * 
     */
    public Long getOffsetAmount ()
    {
        return m_offsetAmount;
    }

    /**
     * 设置可冲抵数量属性.
     * 
     * @param offsetAmount.
     */
    public void setOffsetAmount (Long offsetAmount)
    {
        m_offsetAmount = offsetAmount;
    }

    /**
     * 获取药品换算系数
     * 
     * @return
     */
    public Integer getFactor ()
    {

        return m_factor;
    }

    /**
     * 设置药品换算系数
     * 
     * @param factor
     */
    public void setFactor (Integer factor)
    {

        m_factor = factor;
    }
    
    /**
     * 获取allocation
     * 
     * @return the allocation
     */
    public String getAllocation ()
    {

        return m_allocation;
    }

    /**
     * 获取allocation
     * 
     * @param allocation the allocation to set.
     */
    public void setAllocation (String allocation)
    {

        m_allocation = allocation;
    }
    
    /**
     * 获取摆药结果标识，摆药或者不摆药
     * 
     * @return
     */
    public String getDispenseResultFlag ()
    {

        return m_dispenseResultFlag;
    }

    /**
     * 设置摆药结果标识
     * 
     * @param dispenseResultFlag
     */
    public void setDispenseResultFlag (String dispenseResultFlag)
    {

        m_dispenseResultFlag = dispenseResultFlag;
    }

    /**
     * 获取摆药结果标识名称
     * 
     * @return
     */
    public String getDispenseResultFlagName ()
    {

        return m_dispenseResultFlagName;
    }

    /**
     * 设置摆药结果标识名称
     * 
     * @param dispenseResultFlagName
     */
    public void setDispenseResultFlagName (String dispenseResultFlagName)
    {

        m_dispenseResultFlagName = dispenseResultFlagName;
    }
/**
 * 是否作废
 * @return
 * add by Zli
 */
    public Integer getIsCancel ()
    {
    
        return m_isCancel;
    }

    public void setIsCancel (Integer isCancel)
    {
    
        m_isCancel = isCancel;
    }

    public String getIsCancelName ()
    {
    
        return m_isCancelName;
    }

    public void setIsCancelName (String isCancelName)
    {
    
        m_isCancelName = isCancelName;
    }

    /** 日志记录器. */
    public static final Logger s_logger = LoggerFactory.getLogger (InpPhamApplyDetail.class);

    /** 公司版权信息. */
    public static final String copyright = "Copyright 2014, TH Supcom Corporation";

    /** 提交路径. */
    public static final String SCC_BRANCH = "$URL$";

    /** 提交日期. */
    public static final String SCC_LAST_MODIFICATION_DATE = "$Date$";

    /** 最终修改人员. */
    public static final String SCC_LAST_MODIFIER_NAME = "$Author$";

    /** 最终版本号. */
    public static final String SCC_REVISION = "$Revision$";

}
